Functional codes

The component hierarchy of a specification is formed by mappings that pair a component class with one or more functional codes. In this hierarchy, the role of the functional code is to describe the functional purpose of a component or method. For example, a functional code that defines a curve indicates that there is a change of direction, but it does not prescribe how to implement that change in practice. When a designer is routing a curve, the specification determines whether the curve should be an elbow or a bend made with a bending machine, and if it is an elbow, should it be butt-welded or socket-welded.

In the Edit Functional Codes dialog, you can see what functional codes currently exist, and you can select to edit them (where allowed) or to create new ones.

Edit Functional Codes

To access the Edit Functional Codes dialog, open the Project Environment dialog, browse to [project] > Configuration > Common, and then either double-click the Functional codes configuration object or right-click it and select Edit from the context menu.

The Edit Functional Codes dialog lists the currently defined functional codes and shows the following information for them: ID, Description, Short Code (abbreviation), Type, and Lookup Dimensions (if defined). Select a functional code from the list to see its details on the right.

Note: If the text "Referenced by Component Classes" is shown at the top of the pane, the functional code has been assigned to component classes and therefore cannot be modified or deleted.

Use the following buttons to manage functional codes:

  • New – Opens the New Functional Code dialog for creating a new functional code.

  • Modify – Opens the New Functional Code dialog for modifying the selected functional code.

  • Delete – Deletes the selected functional code. You are prompted to confirm the action.

  • Copy, Paste – You can make a copy of an existing functional code.

New Functional Code

In the Edit Functional Codes dialog, clicking New or Modify opens the New Functional Code dialog where you can define what kind of components can use this functional code. In effect, the settings prevent administrator from using the specified functional code for a component whose geometry type, number of nominal sizes, or bending method is incorrect for the given purpose.

Option

Description

Description

Functional code's description. This is shown in the menu when selecting a component from the specification.

To be used in ducting specifications

If selected, the functional code can be used in ducting specifications.

In the Mapping section, you specify how to map the functional code: to a duct component, to a duct part design rule, or to a part that uses a range lookup (instant parameters).

Mapping

Specifies to what kind of part the functional code will be mapped.

  • Real part – A normal part that can be added in routing.

Piping-specific mappings:

  • Machine bend – Curve made with a bending machine.
  • Free bend – Curve whose bending radius is defined during routing.
  • Stub in branch – A stub-in branch.

Ducting-specific mappings:

  • Duct part design rule – If selected, the opening bracket "[" is added as a prefix to the short code to indicate a value range. Do not select this option if the functional code is intended for duct parts defined as standard components (such as fire damper).
  • Part using range lookup – If selected, the opening bracket "[" is added as a prefix to the short code to indicate a value range, and duct parts that use this functional code can have varying cross-section sizes defined with instance parameters.

Type

Select a predefined type from the list to filter the allowed geometry types according to this setting. The predefined types also have a fixed abbreviation. These are:

Default Pipe (p)
Default Flange(f), 2nd Default Flange (f1), 3rd Default Flange (f2)
Default Curve (e)
Default (Make)Branch (T)

For other functional codes it is Standard.

Short Code

Unique abbreviation of the functional code, with a maximum of 7 characters.

Note that there are reserved abbreviations that cannot be used, such as com, com1, com2 …, and lpt1.

Short codes f1-f50 are reserved for pipe flanges.

Short codes [_dflgr, [_dflg2, [_dflg3, [_dflg4, [_dflg5 are reserved for duct flanges.

Short codes [_dfrmr, [_dfrm2, [_dfrm3, [_dfrm4 and [_dfrm5 are reserved for duct frames.

Number of spec keysizes

Select whether the component has one or two key sizes that the user can base their selection on when adding a component to the model. For example, for a typical straight part this would be set to "1", but for a reducer-type part to "2". (A component might also have more than two nominal sizes, but the user selecting the component will only ever see the first two.)

Note: Duct parts are special in that H and W are handled as one key size, so with value "1" the user sees both width and height of the duct part. If, however, there are duct parts where height or width is not the same at both ends of the part, then there are two key sizes to be handled (H1/W1 and H2/W2), and the value must be set to "2".

Allowed geometry types

Select one or more geometry types to allow for this functional code. If you selected a predefined type from the Type list, only geometry types that match that selection can be chosen.

Use additional lookup dimensions

Normally, the specification lookup that occurs when inserting a component to line uses only key sizes to find a valid component. Additional lookup dimensions allow one functional code – key size combination to map to more than one catalog size of one catalog part.

Selecting Use additional lookup dimensions displays the Additional Lookup Dimensions field where you can enter a list of dimension attributes that will be used when catalog size is searched from selected catalog part. Make sure you type valid dimension attribute names that are defined as key dimensions in the dimension table of the catalog part which you want the lookup to find. Separate each additional dimension with a space character.

Note: The functional codes of an add-on part are defined in the dimension table of its master part, and the attribute "Shortcode of add-on parts" must define the short code of the functional code for the slave part. If there is more than one add-on part their short codes must be separated with a space character.